package Readers;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.Vector;

import javax.swing.text.html.HTMLDocument;

import org.jsoup.nodes.Document;

import OddsObjects.OddsTemplate;
import OddsObjects.Soccer.HalfTimeFullTime;
import OddsObjects.Soccer.MoneyLine;
import OddsObjects.Soccer.TotalGoals;
import OddsObjects.Soccer.WinLoseTie;

public abstract class SoccerReaderTemplate extends GenericWebsiteReader{
	
	abstract public Vector<OddsTemplate> ExtractAllAvailableOdds( URL pageUrl );

//	abstract WinLoseTie extractWinLoseTie( Document webPage );
//	abstract MoneyLine extractMoneyLine( Document webPage );
//	abstract OverUnder extractOverUnder( Document webPage );
//	abstract TotalGoals extractTotalGoals( Document webPage );
//	abstract Handicap extractHandicap( Document webPage );
//	abstract DoubleHandicap extractDoubleHandicap( Document webPage );
//	abstract DoubleChance extractDoubleChance( Document webPage );
//	abstract HalfTimeFullTime extractHalfTimeFullTime( Document webPage );
//	abstract HalfTimeResult extractHalfTimeResult( Document webPage );
//	abstract ReverseHandicap extractReverseHandicap( Document webPage );
//	abstract FirstToScore extractFirstToScore( Document webPage );
//	abstract FirstGoal extractFirstGoal( Document webPage );
//	abstract AggregateGoalTime extractAggregrateGoalTime( Document webPage );
//	abstract HalfWithMostGoals extractHalfWithMoreGoals( Document webPage );
//	abstract TimeOfFirstGoal extractTimeOfFirstGoal( Document webPage );
//	abstract TeamsToScore extractTeamsToScore( Document webPage );
//	abstract FirstGoalMethod extractFirstGoalMethod( Document webPage );

//	public Vector<OddsTemplate> ExtractAllAvailableOdds( URL pageUrl ) {
//		Document webpageHtmlContent = getPageContentFromURL( pageUrl );
//		//Vector<OddsTemplate> availableOdds =  ListAllOdds(webpageHtmlContent);
//		Vector<OddsTemplate> availableOdds = Parsewhole
//		return availableOdds;
//	}
	
//	Vector<OddsTemplate> ListAllOdds(Document webpageContent) {
//		Vector<OddsTemplate> odds = new Vector<OddsTemplate>();
//		odds.add(extractWinLoseTie(webpageContent));
//		odds.add(extractMoneyLine(webpageContent));
//		odds.add(extractOverUnder(webpageContent));
//		odds.add(extractTotalGoals(webpageContent));
//		odds.add(extractHandicap(webpageContent));
//		odds.add(extractDoubleChance(webpageContent));
//		odds.add(extractDoubleHandicap(webpageContent));
//		odds.add(extractHalfTimeFullTime(webpageContent));
//		odds.add(extractHalfTimeResult(webpageContent));
//		odds.add(extractReverseHandicap(webpageContent));
//		odds.add(extractFirstToScore(webpageContent));
//		odds.add(extractAggregrateGoalTime(webpageContent)));
//		odds.add(extractHalfWithMoreGoals(webPage));
//		odds.add(extractTimeOfFirstGoal(webpageContent));
//		odds.add(extractTeamsToScore(webPage));
//		odds.add(extractFirstGoalMethod(webpageContent));
//		odds.add(extractFirstGoal(webpageContent));
//		return odds;
//	}
		
}
